#include<iostream>
#include<vector>
#include<queue>
#include<cstring>
#include<cmath>
#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=600;
typedef long long LL;
LL a[maxn][maxn];
int main(void)
{
  cin.tie(0);std::ios::sync_with_stdio(false);
  LL r,c;cin>>r>>c;
  if(r==1&&c==1)
  {
  	cout<<0<<endl;return 0;
  }
  else if(r==1||c==1)
  {
  	 if(r==1)
  	 {
  	 	for(LL j=1;j<=c;j++) a[1][j]=j+1;
	 }
	 else
	 {
	 	for(LL i=1;i<=r;i++) a[i][1]=i+1;
	 }
  }
  else
  {
  	 for(LL i=1;i<=r;i++)
  	 	for(LL j=1;j<=c;j++)
  	 	{
  	 		a[i][j]=i*(j+r);
		}
  }
  for(LL i=1;i<=r;i++)
  {
  	for(LL j=1;j<=c;j++)
  		cout<<a[i][j]<<" ";
  		cout<<endl;
  }
return 0;
}
